package main

import (
	"fmt"
	"strconv"
)

// 自定义错误类型
type CustomError struct {
	// 错误码
	Code int

	// 错误消息
	Msg string
}

func handleCustomError() {
	// 创建CustomError实例
	e := CustomError{
		-10001,
		"出错啦",
	}

	// 抛出异常
	panic(&e)
}

// CustomerError绑定了Error()方法，代表实现了Error接口
func (e *CustomError) Error() string {
	return strconv.Itoa(e.Code) + "," + e.Msg
}

func main2() {
	fmt.Println("main函数开始执行")

	// 调用handleCustomError()函数
	handleCustomError()
	fmt.Println("main函数结束执行")
}
